package com.ruoyi.app.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 协会管理对象 app_associations
 * 
 * @author ruoyi
 * @date 2025-11-03
 */
public class AppAssociations extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 协会ID */
    private Long id;

    /** 协会名称 */
    @Excel(name = "协会名称")
    private String name;

    /** 会长ID */
    @Excel(name = "会长ID")
    private Long contactorId;

    /** 协会头像 */
    @Excel(name = "协会头像")
    private String image;

    /** 协会联系方式 */
    @Excel(name = "协会联系方式")
    private String contactPhone;

    /** 协会成立时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "协会成立时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date establishmentDate;

    /** 协会成员数量（冗余字段） */
    @Excel(name = "协会成员数量", readConverterExp = "冗=余字段")
    private Long memberCount;

    /** 协会简介 */
    @Excel(name = "协会简介")
    private String description;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setContactorId(Long contactorId) 
    {
        this.contactorId = contactorId;
    }

    public Long getContactorId() 
    {
        return contactorId;
    }

    public void setImage(String image) 
    {
        this.image = image;
    }

    public String getImage() 
    {
        return image;
    }

    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }

    public void setEstablishmentDate(Date establishmentDate) 
    {
        this.establishmentDate = establishmentDate;
    }

    public Date getEstablishmentDate() 
    {
        return establishmentDate;
    }

    public void setMemberCount(Long memberCount) 
    {
        this.memberCount = memberCount;
    }

    public Long getMemberCount() 
    {
        return memberCount;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }

    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("contactorId", getContactorId())
            .append("image", getImage())
            .append("contactPhone", getContactPhone())
            .append("establishmentDate", getEstablishmentDate())
            .append("memberCount", getMemberCount())
            .append("description", getDescription())
            .append("createdTime", getCreatedTime())
            .append("updatedTime", getUpdatedTime())
            .toString();
    }
}
